package rauguelu.feria.tapas;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

import rauguelu.feria.tapas.TapaDetalle.AbreDialogOnClickListener;
import rauguelu.feria.tapas.TapaDetalle.QuitaVotoOnClickListener;
import rauguelu.feria.utils.Constants;
import rauguelu.programaEventos.R;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings.Secure;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;

public class VinoDetalle extends Activity {
	  BaseDatosFeriasHelper miBBDDHelper;
	  Long mRowId;
	Typeface font;
	  Typeface font2;
	  Cursor vino;
	  String rutaImagen;
	  String urlWeb;
	  String nombreVino;
	 @Override
	  public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);

	        setContentView(R.layout.vino_detalle);

	      font = Typeface.createFromAsset(getAssets(), "VSVBPSB.TTF");
	  	  font2= Typeface.createFromAsset(getAssets(), "VSVAB.TTF");
	  	  TextView dsCategoriaDetalle = (TextView)findViewById(R.id.dsCategoriaDetalle);
	  	  dsCategoriaDetalle.setTypeface(font);
	  	  
	        //Button confirmButton = (Button) findViewById(R.id.confirm);
	        //Obtenemos la tapa de la base de datos del telefono
	        mRowId = (savedInstanceState == null) ? null : (Long) savedInstanceState.getSerializable("_id");
	        if (mRowId == null) {
	            Bundle extras = getIntent().getExtras();
	            mRowId = extras != null ? extras.getLong("_id")
	                                    : null;
	        }
	        crearBBDDTapas();
	        populateFields();
			TextView comparte = (TextView) findViewById(R.id.compartir);
			comparte.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					Intent share = new Intent(Intent.ACTION_SEND);
	        		 share.setType("image/jpeg"); // might be text, sound, whatever
	        		 FileOutputStream output;
	        		 File imagenTapa=null;
					try {
						output = openFileOutput("vino.jpeg",MODE_WORLD_READABLE );
					
						
		        		 InputStream inputPrueba = getResources().openRawResource(VinoDetalle.this.getResources().getIdentifier(rutaImagen,
		            				"drawable", VinoDetalle.this.getPackageName()));
		        		 byte[] buffer = new byte[128];
		        		 while ( ( inputPrueba.read(buffer) ) != -1  )
		        		 {
		        			 output.write(buffer);
		        			 output.flush();
		        		 }
		        	 
		        	 
		        		 imagenTapa = getFileStreamPath("vino.jpeg");
					} catch (FileNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
	        		 share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imagenTapa));
	        		 share.putExtra(Intent.EXTRA_TEXT, "El mejor acompañamiento para las excelentes tapas del Festival de los Sentidos, vinos de " + nombreVino);
	        		 
	        		 startActivity(Intent.createChooser(share, "share"));
					
				}
			});
	}
	 
	 public void crearBBDDTapas() {
			miBBDDHelper = new BaseDatosFeriasHelper(this);
			try {
				miBBDDHelper.crearDataBaseFerias();
			} catch (IOException ioe) {
				throw new Error("Unable to create database");
			}
		}
	 
	  private void populateFields() {
	        if (mRowId != null) {
	        	miBBDDHelper.abrirBaseDatosFerias();
	            vino = miBBDDHelper.fetchVino(mRowId);
	            startManagingCursor(vino);
	             
	            TextView nombreText = (TextView) findViewById(R.id.detalle_vino);
	            TextView descripcionText = (TextView) findViewById(R.id.detalle_descripcion);
	            
	            ImageView icon = (ImageView) findViewById(R.id.detalle_imagen);
	            
	            
	            
	            rutaImagen = vino.getString(vino.getColumnIndexOrThrow("RUTA_IMAGEN"));
	            urlWeb = vino.getString(
	            		vino.getColumnIndexOrThrow("WEB"));
	            nombreVino = vino.getString(
	            		vino.getColumnIndexOrThrow("NOMBRE"));
	            nombreText.setText(nombreVino);
	            nombreText.setTypeface(font2);
	            descripcionText.setText(vino.getString(
	            		vino.getColumnIndexOrThrow("DESCRIPCION")));
	            icon.setImageResource(
	            		this.getResources().getIdentifier(vino.getString(vino.getColumnIndexOrThrow("RUTA_IMAGEN")),
	            				"drawable", this.getPackageName()));
	            TextView web =  (TextView) findViewById(R.id.ver_web);
	            TextView compartir =  (TextView) findViewById(R.id.compartir);
	            web.setTypeface(font);
	            compartir.setTypeface(font);
	            
	            web.setOnClickListener(new OnClickListener() {
					
					@Override
					public void onClick(View v) {
						Intent intent = new Intent();
				        intent.setAction(Intent.ACTION_VIEW);
				        intent.addCategory(Intent.CATEGORY_BROWSABLE);
				        intent.setData(Uri.parse((urlWeb)));
				        startActivity(intent);
						
					}
				});
	            
	         	            
	        }
	    }
}
